<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数据类型赋值区别</title>
</head>
<body>
    <script>
        // var a = 100; //在栈内存开辟一个独立的空间
        // var b = a; //  先给b在栈内存开辟一个空间 然后a中的100 给到 b 
        // 两个空间各自独立 

        //'hello' 100 原数据用不改变 


        // alert(a);  // 100
        // alert(b); // 100

        // b = 200;
        // alert(a); //100 修改b 不影响a 
        // alert(b); //200 

        var a = {name:'**'} // 栈内存中开辟空间 起名a  堆内存开辟空间

        var b = a;  // 栈内存开辟空间b 堆内存的地址赋值给a a b就同时指向一个堆内存地址
        console.log(a.name)
        console.log(b['name'])

        b.name = '***'  // 所以修改b 就会影响a
        console.log(a.name)
        console.log(b['name'])






    </script>
</body>
</html>